#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 200, M = 500;

int n;
int f[N][M];

void add(int c[], int a[], int b[])
{
	for(int i = 0;i < M - 1;i ++)
	{
		c[i] += a[i] + b[i];
		c[i + 1] += c[i] / 10;
		c[i] %= 10;
	}
}

void mul(int c[], int a)
{
	int t = 0;
	for(int i = 0;i < M;i ++)
	{
		c[i] = t + c[i] * a;
		t = c[i] / 10;
		c[i] %= 10;
	}
}

int main()
{
	cin >> n;
	for(int i = 1;i <= n;i ++) for(int j = 1;j <= n;j ++) cin >> f[0][0];
	f[2][0] = 1;
	for(int i = 3;i <= n;i ++)
	{
		add(f[i], f[i - 1], f[i - 2]);
		mul(f[i], i - 1);
	}
	int p = M - 1;
	while(f[n][p] == 0) p --;
	while(p >= 0) cout << f[n][p --];
	return 0;
}